home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Professional Soft Collection 1.02
/
Professional Soft Collection 1.02.iso
/
mpeg.os2
/
pmmpeg.hlp
(
.txt
)
< prev
next >
Wrap
OS/2 Help File
|
1995-04-13
|
79KB
|
1,921 lines
ΓòÉΓòÉΓòÉ 1. Summary of New Features ΓòÉΓòÉΓòÉ
I received a great deal of quality feedback from dozens of people that tried
previous releases of PMMPEG. Here is a summary of new features that have been
implemented based on your suggestions. Please continue to send suggestions and
bug reports, it will help to make PMMPEG better for everyone.
Click on the links below to get more information on each feature.
New Features in PMMPEG 3.0:
Added DIVE support. This is the high-speed graphics and color conversion
interface built into every video driver that ships with OS/2 Warp 3.0
running with at least 256 colors.
Designed smaller icons in the toolbar to save screen space.
Redesigned the menus and added new options, as outlined below.
Added Registration feature. Don't worry! It gently reminds you to
register each time the application starts up. There is no reduced
functionality and none of your files is changed in any way.
Added Save current movie feature.
Added Half, Normal and Double size options.
Added Unlimited, Fast, Medium and Slow playback speed options.
Added an option to turn the menu/toolbar on and off. When off, you can
still access the menu and toolbar with a click of Mouse Button 2.
Added an option to maintain the aspect ratio during a resize of the
playback frame.
Updated the status bar to show the movie size, frame rate and an
indication of the movie type: I frame or IBP frame.
Redesigned the sizing scheme. Removed the Small/Large button in the
toolbar as you can resize the movie by resizing the frame to any size you
like. You can even Maximize it! The Half, Normal and Double menu
options help to get exact sizes with a click. You can use the maintain
the aspect ratio menu item to keep the movie properly proporationed as
you resize it.
Moved all saved information out of the OS/2 INI file and into PMMPEG.INI,
which lives in the same directory as the PMMPEG.EXE file.
Removed the Beep at the end of the movie.
Updated possible command line options.
Updated configuration data values saved between runs.
Updated popup panel when non-understood file is loaded.
Updated the popup message when no help file found more understandable.
Mentioned how to make Ultimotion movies with the VideoIn application from
the OS/2 Warp 3.0 Bonus Pak.
Bug fix: Client was sized just a little too small, this has been fixed by
virtue of the new sizing method.
Bug fix: No one discovered a latent bug where the Open File dialog would
fail if a movie name was passed on the command line with a relative path.
New Features in PMMPEG 2.1:
Optimized playback speed with I/B/P movies. They play at much higher
frame rates and as a side effect the bug with stepping frame by frame in
I/B/P movies has been corrected.
Added Slideshow feature. This allows you to select multiple files with
the File Dialog, drag/drop multiple files from somewhere on the desktop
or specify multiple files on the command line. PMMPEG will then play
each movie, one after the other, and optionally loop back to the front of
the list and play again if the Loop mode is set.
Added Toolbar buttons that allow you to save the current frame to the
Clipboard or to an OS/2 Bitmap file
The Statistics dialog has been replaced by a Status bar that can be
optionally displayed at the bottom of the frame. This shows the relevant
statistics for the movie: resolution, frame count (for I/B/P and
displayed frames) and frame rate in frames/second.
If a decoding problem occurs on a particular frame, the status bar will
optionally be displayed with a red background for that frame.
A pop up message will be displayed if the current display configuration
is not set up for at least 256 colors This is required for proper display
of the images.
Added WS_ANIMATE bit to respect system window animation option.
Update MPEG movie site information.
Added MPEG-2 decoder discussion to help file.
Added DIVE discussion/problems to help file.
Tested increasing color dithering space up from 128 colors but there was
not much visual difference and performance suffered.
Optimization: Check and don't change a button if it's already in the
required state.
Optimization: Quickly skip initial frames until a non-all-black frame is
found. This will always display the first valid frame of any movie.
Optimization: Better frame/second calculation, still mildly optimistic.
Bug fix: Leaves movie positioned at last frame when it ends.
Bug fix: Only one error message on improper end sequence, stops
gracefully.
Bug fix: Gets focus on startup as it should.
Bug fix: Fixed memory leaks and optimized internal table use.
Internal: Cleaned up compiler warnings in source, removed dead code.
Internal: Removed frame size calculation hack.
New Features in PMMPEG 2.0:
Toolbar with tape controls (Play/Stop/Rewind/Step/Size/Color/Loop)
Accept MPEG filename on command line and automatically play it.
Command line options for playback size, color and looping.
Configuration data saved between runs.
INSTALL.CMD will create a PMMPEG desktop object
INSTALL.CMD will associate PMMPEG with all *.MPG files
Drag/Drop MPEG movie onto PMMPEG.
Double size playback is possible both in Color and Grayscale.
Loading a movie decodes and displays the first valid frame.
When the window is obscured and then revealed, the movie frame is
repainted.
New MPEG movie sites added and corrections made to list.
File Dialog always brings up *.MPG.
MPEG filename is now displayed in the Title bar.
Bug fix: no more silent death problem. PMMPEG jumps to the next frame
when bad encoding detected.
Bug fix: The file handle is closed when a movie fails parsing as non-MPEG
format
Bug fix: Popups are now displayed on fatal read/MPEG stream/parsing
errors.
ΓòÉΓòÉΓòÉ 2. Suggestions for Future Releases ΓòÉΓòÉΓòÉ
Here is the list of features I was not able to add in time for this release.
If you have any more features you'd like to see, please send them to me.
I can't promise to eventually implement them all, due to constraints like time,
Berkeley decoding engine limitations, etc., but I'll do my best.
The list is in a rough order of what I think I'll concentrate on.
Provide an OS/2 for PowerPC executable shortly after the projected April
1995 OS/2 for PowerPC Beta is released. I have build the code with the
limited December 1994 OS/2 for PowerPC beta, but decided against it
because of the limited distribution, stability and performance. I expect
great things from the upcoming Beta.
Provide an MPEG part for OpenDoc. I had it working at one point and it
only took about 2 days to convert the conventional PM program. OpenDoc
has matured greatly since then but I wanted to get this release out
quickly as people have been waiting long enough. I'll ship the OpenDoc
part as soon as I get updated toolkits, samples, etc. and have the time
to do the port.
Support a play list - a file containing a list of MPEG files to be
played.
Save all frames of movie as bitmaps with unique names with a single
click.
Move bottom of window when status bar is toggled, instead of top.
Ensure window stays completely on desktop when toggling status or size
buttons.
Save bitmaps as RLE, optional as some apps don't like RLE encoding.
Allow priority adjustment.
Display any interesting info from the MPEG header.
REXX hooks for external control of behavior.
Further Optimize decoding/dithering to improve frame rate.
Overlap display/decode of frames to speed throughput.
Frame back (I frame only).
Play at encoded speed, some movies go too fast.
Scroll bar back and forth across frames.
Pre-parse file and then play back frames.
Bar graph timeline.
Audio sync.
Make into MMPM/2 codec.
ΓòÉΓòÉΓòÉ 3. Non-Understood Files ΓòÉΓòÉΓòÉ
When you select a file with the Open... menu item or Drag and Drop a file or
group of files onto the movie window, PMMPEG may pop up a message that it
doesn't understand the file. There are a few reasons for this:
It may really be a non-MPEG file.
It could be an MPEG-1 file with interleaved sound. These files seem to
have a defacto extension of .mp2 and are found at music sites around the
Internet. PMMPEG does not support any MPEG files with interleaved sound
at this time.
It could be an MPEG-2. PMMPEG does not support MPEG-2 at this time.
ΓòÉΓòÉΓòÉ 4. VideoIn ΓòÉΓòÉΓòÉ
The OS/2 Warp 3.0 Bonus Pak includes an application called VideoIn that won the
Best Product award at COMDEX. Among other things, it can build an Ultimotion
file from a series of bitmaps. Ultimotion is the native video file format for
OS/2.
If you step through your movie and save each frame into a bitmap file, you'll
be able to make an Ultimotion file from it. VideoIn will even let you add
sound to the file and playback will stay in sync with the audio.
ΓòÉΓòÉΓòÉ 5. Toolbar ΓòÉΓòÉΓòÉ
Use the buttons on the toolbar to control the playback of the movie and select
playback options.
The buttons on the toolbar have the following functions:
The Play Button causes the movie to start playing.
The Stop Button causes the movie to stop playing.
The Rewind Button causes the movie to be rewound to the first frame,
ready for a subsequent Play or Step.
The Step Button button causes the next frame of the movie to be
displayed.
The Clipboard Button causes the image of the currently displayed frame to
be copied to the OS/2 clipboard.
The File Button causes the image of the currently displayed frame to be
saved to an OS/2 bitmap file on disk.
The Color/Gray Button can be either in Color or Grayscale mode.
- When in the Color state, the movie is played at the color setting of
your desktop; generally 256, 64K or 16.7M colors.
- When in the Gray state, the movie is played in shades of gray, the
number of shades depend on the color setting of your desktop.
Grayscale plays movies a little faster than Color because there's
less work to do.
The NoLoop/Loop Button button can be either in NoLoop or Loop mode.
- When in the NoLoop state, the movie is played once and then halts at
the end.
- When in the Loop state, the movie is played over and over until you
click on the Stop button or drag and drop a new movie onto the
window.
ΓòÉΓòÉΓòÉ 5.1. Play Button ΓòÉΓòÉΓòÉ
The Play button causes the movie to start playing. When the movie starts
playing, the Stop button will be enabled and the Rewind and Step buttons will
be disabled.
If there is no movie loaded, the button will be in this grayed out state:
If there is a movie loaded and it's not currently playing, the button
will be in this enabled state:
If there is a movie loaded and it is currently playing, the button will
be in this grayed out state:
ΓòÉΓòÉΓòÉ 5.2. Stop Button ΓòÉΓòÉΓòÉ
The Stop button causes the movie to stop playing. When the movie stops
playing, the Play, Rewind and Step buttons will be enabled.
If there is no movie loaded, the button will be in this grayed out state:
If there is a movie loaded and it's not currently playing, the button
will be in this grayed out state:
If there is a movie loaded and it is currently playing, the button will
be in this enabled state:
ΓòÉΓòÉΓòÉ 5.3. Rewind Button ΓòÉΓòÉΓòÉ
The Rewind button causes the movie to be rewound to the first frame, ready for
a subsequent Play or Step.
If there is no movie loaded, the button will be in this grayed out state:
If there is a movie loaded and it's not currently playing, the button
will be in this enabled state:
If there is a movie loaded and it is currently playing, the button will
be in this grayed out state:
ΓòÉΓòÉΓòÉ 5.4. Step Button ΓòÉΓòÉΓòÉ
The Step button causes the next frame of the movie to be displayed. If the end
of the movie is encountered, it will be rewound to the first frame and stepping
can continue without reloading the movie.
There is a known problem when using Step with IBP-Frame Movies
If there is no movie loaded, the button will be in this grayed out state:
If there is a movie loaded and it's not currently playing, the button
will be in this enabled state:
If there is a movie loaded and it is currently playing, the button will
be in this grayed out state:
ΓòÉΓòÉΓòÉ 5.5. Clipboard Button ΓòÉΓòÉΓòÉ
This button allows you to save the curently displayed frame into the clipboard.
This allows other OS/2 (and smart Windows) applications to copy the bitmap out
of the clipboard for later use. Such apps might allow you to touch up the
image or add text to it, then save to any one of many image file formats.
If there is no movie loaded, the button will be in this grayed out state:
If there is a movie loaded and it's not currently playing, the button
will be in this enabled state:
If there is a movie loaded and it is currently playing, the button will
be in this grayed out state:
ΓòÉΓòÉΓòÉ 5.6. File Button ΓòÉΓòÉΓòÉ
This button allows you to save the curently displayed frame as a 256 color
non-RLE OS/2 bitmap file. It will attempt to generate a unique filename based
on the movie filename and the current frame number. If you're saving the file
to a FAT formatted partition, the initial filename may have too many
characters. Simply shorten the first part of the bitmap filename so it fits
the 8.3 naming convention. Subsequent attempts to save the bitmap to a file
will use the altered name, replacing the frame number with the new frame
number.
If there is no movie loaded, the button will be in this grayed out state:
If there is a movie loaded and it's not currently playing, the button
will be in this enabled state:
If there is a movie loaded and it is currently playing, the button will
be in this grayed out state:
ΓòÉΓòÉΓòÉ 5.7. Color/Gray Button ΓòÉΓòÉΓòÉ
The Color/Gray button toggles back and forth between color playback and
shades-of-gray playback.
This button defaults to Color, but can be changed by options on the command
line or the configuration data in force when this program was last shut down.
You will usually see slightly better frame rates with Gray than with Color due
to the simpler dithering calculations. Also, some movies have "garish" color
and selecting gray scale will make them more pleasing to the eye.
There is a problem with the Color Table when switching from color->gray or
gray->color during playback.
Note: You can toggle this while the movie is running and the display will
change to the desired color scheme.
When in the Color state , the movie is played in color. If in DIVE mode,
it uses the full number of colors running on your desktop. If in
non-DIVE mode, it uses 128 colors.
When in the Grayscale state , the movie is played in shades of gray.
ΓòÉΓòÉΓòÉ 5.8. NoLoop/Loop Button ΓòÉΓòÉΓòÉ
The NoLoop/Loop button toggles back and forth between playing the movie and
looping around to the start and playing again or playing the movie and stopping
at the end.
This button defaults to NoLoop, but can be changed by options on the command
line or the configuration data in force when this program was last shut down.
Note: You can toggle this while the movie is running and the movie will behave
accordingly when it hits the last frame.
When in the NoLoop state , the movie stops when it hits the last frame.
When in the Loop state , the movie loops around to the start and
continues playing when it hits the last frame.
ΓòÉΓòÉΓòÉ 6. Configuration Data ΓòÉΓòÉΓòÉ
PMMPEG stores information about itself when you quit so it can try to give you
the same environment the next time you run it.
Window position on the desktop is saved and restored, even if maximized
or minimized.
Window size is saved and restored.
Color / Gray state is saved and restored.
Loop / No Loop state is saved and restored.
DIVE / No DIVE state is saved and restored.
Status Bar / No Status Bar state is saved and restored.
Bad Encoding Message / No Bad Encoding Message state is saved and
restored.
Menu/Toolbar / No Menu/Toolar state is saved and restored.
Maintain Aspect Ratio / No Maintain Aspect Ratio state is saved and
restored.
Half size / Normal Size / Double size state is saved and restored.
Slow / Medium / Fast / Unlimited playback speed state is saved and
restored.
The last directory path a movie is loaded from is saved and restored.
The last directory path a movie frame is saved to is saved and restored.
If you simply launch PMMPEG without any command line options, these values
will be loaded and used to set up the player just like it was when you quit it
last. You can use command line options which will override these saved
values.
ΓòÉΓòÉΓòÉ 7. Command Line Options ΓòÉΓòÉΓòÉ
PMMPEG has been enhanced to take a number of options on the command line,
allowing its use as an object on the desktop or as part of a program like the
OS/2 Warp 3.0 Bonus Pak application WebExplorer which attempts to pass the
filename of an MPEG movie on the command line.
These are the recognized command line options:
-color Color playback, default.
-gray Grayscale playback.
-noloop One play playback, default.
-loop Looping playback.
-dive Use DIVE -enabled playback, default.
-nodive Use conventional GpiBitBlt playback.
-status Show the status bar , default.
-nostatus Do not show the status bar
-encmsg Indicate in the status bar when an encoding error is detected in
the MPEG file.
-noencmsg Ignore any encoding errors in the MPEG file, default.
-toolbar Show the menu/toolbar , default.
-notoolbar Do not show the menu/toolbar
-aspect Maintain the aspect ratio during a resize of the movie window,
default.
-noaspect Do not maintain the aspect ratio during a resize of the movie
window.
-half Resize the window to half the normal movie size.
-normal Resize the window to the normal movie size, default.
-double Resize the window to double the normal movie size.
-slow Play the movie at the slow setting.
-medium Play the movie at the medium setting.
-fast Play the movie at the fast setting.
-unlimited Play the movie at the unlimited setting, default.
filename(s) Filename(s) of movies to load and play.
If one or more filenames are given on the command line, either by explicitly
listing multiple filenames or using a wildcard pattern with * or ?, they will
be loaded and play started automatically.
Note that the following options are mutually exclusive. You're only allowed
to choose one from each of the following groups:
-color and -gray
-noloop and -loop
-dive and -nodive
-status and -nostatus
-encmsg and -noencmsg
-toolbar and -notoolbar
-aspect and -noaspect
-half, -normal and -double
-slow, -medium -fast and -unlimited
If more than one of any of these pairs is listed on the command line, the one
closest to the end of the command line will take precedence.
If any of these options are specified, they will take precedence over the
information saved from the last time. Therefore, if you want to be sure that
you get a particular option, it's better to explicitly mention it on the
command line.
ΓòÉΓòÉΓòÉ 7.1. -color option ΓòÉΓòÉΓòÉ
The -color option causes PMMPEG to start up in color mode.
ΓòÉΓòÉΓòÉ 7.2. -gray option ΓòÉΓòÉΓòÉ
The -gray option causes PMMPEG to start up in shades of gray mode.
ΓòÉΓòÉΓòÉ 7.3. -noloop option ΓòÉΓòÉΓòÉ
The -noloop option causes PMMPEG to start up in play-once-and-stop mode.
ΓòÉΓòÉΓòÉ 7.4. -loop option ΓòÉΓòÉΓòÉ
The -loop option causes PMMPEG to start up in continuous loop mode.
ΓòÉΓòÉΓòÉ 7.5. -dive option ΓòÉΓòÉΓòÉ
The -dive option causes PMMPEG to display movies using DIVE support.
ΓòÉΓòÉΓòÉ 7.6. -nodive option ΓòÉΓòÉΓòÉ
The -nodive option causes PMMPEG to display movies using the conventional
GpiBitBlt graphics output.
ΓòÉΓòÉΓòÉ 7.7. -status option ΓòÉΓòÉΓòÉ
The -status option causes PMMPEG to display the status bar during movie
playback.
ΓòÉΓòÉΓòÉ 7.8. -nostatus option ΓòÉΓòÉΓòÉ
The -nostatus option causes PMMPEG to not display the status bar during movie
playback.
ΓòÉΓòÉΓòÉ 7.9. -encmsg option ΓòÉΓòÉΓòÉ
The -encmsg option causes PMMPEG to display a notification of bad frames in the
movie.
ΓòÉΓòÉΓòÉ 7.10. -noencmsg option ΓòÉΓòÉΓòÉ
The -noencmsg option causes PMMPEG to not display a notification of bad frames
in the movie.
ΓòÉΓòÉΓòÉ 7.11. -toolbar option ΓòÉΓòÉΓòÉ
The -toolbar option causes PMMPEG to display the menu bar and toolbars in the
movie frame.
ΓòÉΓòÉΓòÉ 7.12. -notoolbar option ΓòÉΓòÉΓòÉ
The -notoolbar option causes PMMPEG to not display the menu bar and toolbars in
the movie frame.
ΓòÉΓòÉΓòÉ 7.13. -aspect option ΓòÉΓòÉΓòÉ
The -aspect option causes PMMPEG to maintain the aspect ratio during movie
window resize.
ΓòÉΓòÉΓòÉ 7.14. -noaspect option ΓòÉΓòÉΓòÉ
The -noaspect option causes PMMPEG to not maintain the aspect ratio during
movie window resize.
ΓòÉΓòÉΓòÉ 7.15. -half option ΓòÉΓòÉΓòÉ
The -half option causes PMMPEG to play the movie back at half size.
ΓòÉΓòÉΓòÉ 7.16. -normal option ΓòÉΓòÉΓòÉ
The -normal option causes PMMPEG to play the movie back at normal size.
ΓòÉΓòÉΓòÉ 7.17. -double option ΓòÉΓòÉΓòÉ
The -double option causes PMMPEG to play the movie back at double size.
ΓòÉΓòÉΓòÉ 7.18. -slow option ΓòÉΓòÉΓòÉ
The -slow option causes PMMPEG to play the movie back at slow speed.
ΓòÉΓòÉΓòÉ 7.19. -medium option ΓòÉΓòÉΓòÉ
The -medium option causes PMMPEG to play the movie back at medium speed.
ΓòÉΓòÉΓòÉ 7.20. -fast option ΓòÉΓòÉΓòÉ
The -fast option causes PMMPEG to play the movie back at fast speed.
ΓòÉΓòÉΓòÉ 7.21. -unlimited option ΓòÉΓòÉΓòÉ
The -unlimited option causes PMMPEG to play the movie back at unlimited speed.
ΓòÉΓòÉΓòÉ 7.22. filename option ΓòÉΓòÉΓòÉ
The filename option causes PMMPEG to load and start playing that MPEG movie
automatically.
ΓòÉΓòÉΓòÉ 8. Installation ΓòÉΓòÉΓòÉ
PMMPEG can simply be run in any of the following manners:
On the command line, type pmmpeg with any desired options or MPEG
filenames.
Double-click on the PMMPEG object on your desktop.
Double-click on any .MPG files in any folder.
The second and third options are enabled for you if you run the INSTALL.CMD
REXX program supplied with PMMPEG.
ΓòÉΓòÉΓòÉ 8.1. INSTALL.CMD ΓòÉΓòÉΓòÉ
INSTALL.CMD is a REXX program that will create a PMMPEG desktop object for you
and set up an association. for any files that end in .MPG.
For this to work properly under OS/2 Warp 3.0, you must first remove the
default installation association with the following procedure:
Open the Drives folder and go to the mmos2 directory of your OS/2
partition.
Open the settings panel of MMPM.EXE and go to the Associations page.
Find *.MPG in the list of file extensions at the bottom of the page
Click on *.MPG, then click on Remove.
If anyone would like to write the REXX code to do this automatically, please
email it to me and I'll include it in the next release of PMMPEG and make you
famous by putting your name here!
Now make sure PMMPEG.EXE and INSTALL.CMD are located in the directory where
you are going to keep PMMPEG.EXE. Then type INSTALL at the command line. It
will create a desktop object and make the association with all .MPG files on
your system.
If you choose to make your own icon for PMMPEG, click here
ΓòÉΓòÉΓòÉ 8.2. PMMPEG Desktop Object ΓòÉΓòÉΓòÉ
To get this feature, follow the INSTALL.CMD procedure. This will make a PMMPEG
object on your desktop that looks like this:
If you double-click on this object, it will launch PMMPEG. You can add any of
the command line options you like to the Parameters: field of the Program page
of its Settings notebook.
ΓòÉΓòÉΓòÉ 8.3. .MPG Movie Association ΓòÉΓòÉΓòÉ
OS/2's Workplace Shell has a feature that allows programs to be automatically
launched when a data file using that executable is double-clicked on. This
helps us because it allows all MPEG files to be played by PMMPEG just by
double-clicking on their icons.
OS/2 Warp 3.0 has a peculiar feature that associates all *.MPG file with a
Bonus Pak application that won't work properly if you don't have a ReelMagic
MPEG hardware card installed! To have PMMPEG properly associated with all
*.MPG files, follow the INSTALL.CMD procedure.
Now all MPEG files ending in .MPG on your system should have their icon set to
the PMMPEG icon:
When you double-click on an MPEG movie, it will launch PMMPEG and automatically
start playing the selected movie.
ΓòÉΓòÉΓòÉ 9. Drag and Drop MPEG Movies ΓòÉΓòÉΓòÉ
PMMPEG has been designed to allow dragging one or more MPEG movies from a
folder on the desktop to the PMMPEG window.
If you attempt to drop a non-MPEG movie (i.e. not ending in .MPG) the drop will
be rejected.
If there is no movie currently playing, then when you drop an MPEG movie it
will be automatically loaded and start playing.
If there is a movie currently playing, then that movie will stop and the new
movie will be automatically loaded and start playing.
If there is a movie currently playing, and you attempt to drop a non-MPEG movie
then the movie will stop playing. You then have to click on the Play button to
continue playing the current movie.
ΓòÉΓòÉΓòÉ 10. Menus ΓòÉΓòÉΓòÉ
The following sections describe the menus available in PMMPEG.
File Menu
- Open...
- Save...
- Register...
Movie Menu
- Half Size
- Normal Size
- Double Size
- Unlimited
- Fast
- Medium
- Slow
Options Menu
- Show Menu/Toolbar
- Show Status Bar
- Note Decoding Errors
- Maintain Aspect Ratio
- Use DIVE - <n> Colors
- DIVE Details Dialog
- Help
ΓòÉΓòÉΓòÉ 11. File ΓòÉΓòÉΓòÉ
Use File to open or save an MPEG movie and to register your use of PMMPEG.
ΓòÉΓòÉΓòÉ 11.1. Open ΓòÉΓòÉΓòÉ
Use Open to display a window that enables you to choose one or more MPEG
movies.
You can also drag and drop one or more movies from a folder onto the PMMPEG
window.
ΓòÉΓòÉΓòÉ 11.2. Save ΓòÉΓòÉΓòÉ
Use Save to display a dialog box that enables you to save the MPEG file
currently loaded. This is especially useful for WebExplorer users as
WebExplorer generates a non-intuitive filename and writes the file to the
directory pointed to by your TMP environment variable. This menu item will
only be enabled when a movie is loaded.
ΓòÉΓòÉΓòÉ 11.3. Register ΓòÉΓòÉΓòÉ
Use Register to display a dialog box that enables you to register your payment
of the shareware fee for PMMPEG. When I send you the registration key after you
send me the fee, enter your name, organization and the EXACT registration key,
then click OK. The key is checked and if acceptable, the pop-up warning
displayed each time PMMPEG is launched will stop. When you then select the
Product Information item from the Help menu, your name and organization will be
displayed.
Please see the Registration section to see how to register your copy of PMMPEG.
ΓòÉΓòÉΓòÉ 12. Movie ΓòÉΓòÉΓòÉ
Use Movie to set the size and to limit the playback speed of the movie.
ΓòÉΓòÉΓòÉ 12.1. Half Size ΓòÉΓòÉΓòÉ
Use Half Size to shrink down the size of the playback window to half the size
encoded in the movie file. This can speed up playback a little due to the fact
that fewer pixels have to be changed on the screen.
Note that Presentation Manager has some rules about minimum frame window size,
so you may not be able to get true half size playback for movies that are
encoded with a small size.
ΓòÉΓòÉΓòÉ 12.2. Normal Size ΓòÉΓòÉΓòÉ
Use Normal Size to set the size of the playback window to exactly the size
encoded in the movie file.
ΓòÉΓòÉΓòÉ 12.3. Double Size ΓòÉΓòÉΓòÉ
Use Double Size to set the size of the playback window to exactly double the
size encoded in the movie file. This slows down playback a bit because 4X the
number of pixels have to be changed on the screen. DIVE mode helps a lot here
because it's been tuned to scale the playback size better than the conventional
GpiBitBlt method.
ΓòÉΓòÉΓòÉ 12.4. Unlimited ΓòÉΓòÉΓòÉ
Set movie playback speed to go as fast as it possibly can. The playback speed
is directly related to the speed of the processor in your machine, how much
cache you have, how fast your hard disk and controller are, how fast your
graphics card is and how it's connected to your system.
PMMPEG does not have any exact frame rate settings due to the lack of a
high-speed timer and the complexity of MPEG decoding.
ΓòÉΓòÉΓòÉ 12.5. Fast ΓòÉΓòÉΓòÉ
Set movie playback speed to play at a maximum of approximately 30 frames per
second on machines that can play that fast. There are a number of factors that
can affect the actual playback speed so this is just a guideline. This is
useful for fast computers that play movies far too fast.
PMMPEG does not have any exact frame rate settings due to the lack of a
high-speed timer and the complexity of MPEG decoding.
ΓòÉΓòÉΓòÉ 12.6. Medium ΓòÉΓòÉΓòÉ
Set movie playback speed to play at a maximum of approximately 15 frames per
second on machines that can play that fast. There are a number of factors that
can affect the actual playback speed so this is just a guideline. This is
useful for fast computers that play movies far too fast.
PMMPEG does not have any exact frame rate settings due to the lack of a
high-speed timer and the complexity of MPEG decoding.
ΓòÉΓòÉΓòÉ 12.7. Slow ΓòÉΓòÉΓòÉ
Set movie playback speed to play at a maximum of approximately 5 frames per
second on machines that can play that fast. There are a number of factors that
can affect the actual playback speed so this is just a guideline. This is
useful for fast computers that play movies far too fast or when you want a
"slow motion" playback.
PMMPEG does not have any exact frame rate settings due to the lack of a
high-speed timer and the complexity of MPEG decoding.
ΓòÉΓòÉΓòÉ 13. Options ΓòÉΓòÉΓòÉ
Use Options to toggle menus, status bars and turn the DIVE support on and off.
ΓòÉΓòÉΓòÉ 14. WebExplorer ΓòÉΓòÉΓòÉ
WebExplorer is an application that ships with OS/2 Warp that allows users to
browse WorldWideWeb sites all over the world with a few easy clicks.
WebExplorer can be configured to launch various programs when it encounters
various types of data on these Web sites.
One of these types of data is MPEG files, generally found with the .MPG
extension. To configure WebExplorer to automatically launch PMMPEG whenever
you select an MPEG file, do the following:
Start WebExplorer by double-clicking on its icon in the IBM Internet
Connection for OS/2 folder.
Click on the Configure menu item
Click on the Viewers... menu item.
Click on the button in the ComboBox and scroll down the list until you
find MPEG video format.
Enter the full path to PMMPEG.EXE in the Program field. You must specify
the driver letter and complete path, i.e. E:\TCPIP\BIN\PMMPEG.EXE
Click on the OK button
Now start up your connection to the Internet and browse one of the well-known
MPEG sites. When you click on an .MPG filename, it should load the file,
launch PMMPEG and automatically start playing the movie.
ΓòÉΓòÉΓòÉ 14.1. Show Menu/Toolbar ΓòÉΓòÉΓòÉ
Toggle the display/no display of the menu bar and the toolbar. This is useful
to set up a very plain playback frame by removing the menu bar and the toolbar.
You can still control the player using the pop-up menu using Mouse Button 2.
ΓòÉΓòÉΓòÉ 14.2. Status ΓòÉΓòÉΓòÉ
Use Status to enable the Status bar at the bottom of the frame window. This
will display the size in pixels, the frame type of the movie, and the running
frames/second value. Click on the Status menu item again to remove the Status
bar. The window will resize itself to accommodate the size of the status bar.
The status bar will display an 'I' for MPEG movies with I-frames only: and
'IBP' for MPEG movies with IBP-frames:
The status bar can optionally display an indication of frames with some kind of
decoding problem
ΓòÉΓòÉΓòÉ 14.3. Note Decoding Errors ΓòÉΓòÉΓòÉ
Use Note Decoding Errors to enable the Status bar at the bottom of the frame
window to show which frames of the movie have some kind of decoding problem
Each frame that has a decoding error will cause the Status bar to have a red
background, which changes back to a gray background on the next correct frame.
Click on the Note Decoding Errors menu item again to remove this feature.
ΓòÉΓòÉΓòÉ 14.4. Maintain Aspect Ratio ΓòÉΓòÉΓòÉ
Use Maintain Aspect Ratio to make sure the playback window sets itself to be in
the proper ratio to the original movie when you resize the window by dragging
one of the window edges larger or smaller.
This makes movies "look right" by preventing playback from being too tall or
too wide. Click on the Maintain Aspect Ratio menu item again to gain complete
control over the playback window.
ΓòÉΓòÉΓòÉ 14.5. Use DIVE - <n> Colors ΓòÉΓòÉΓòÉ
Use Use DIVE - <n> Colors to enable the high speed DIVE graphics system.
This menu item will only be available if the DIVE subsystem is enabled on your
system. If enabled, the <n> will be replaced with the number of colors your
desktop is currently set to. This will generally be 256, 64K or 16M for 256
colors, 65,536 colors or 16.7 million colors. Depending on the graphics
adapter, amount of video RAM and graphics driver you have, you can change the
number of colors on your desktop using Page 1 of the System notebook in the
System Setup folder.
Increasing the number of colors will generally give you a better image, but
will slow down the playback speed due to the increase in the amount of data to
be changed in your video RAM.
Click on the Use DIVE - <n> Colors item again to go back to the conventional
GpiBitBlit display method.
ΓòÉΓòÉΓòÉ 14.6. DIVE Details Dialog ΓòÉΓòÉΓòÉ
Use DIVE Details to query the DIVE graphics system. capabilites of your system.
This menu item will only be available if the DIVE subsystem is enabled on your
system. If enabled, a dialog box will pop up with all of the gory details
about how DIVE is running on your system. Here are some of the more
interesting details:
Direct screen access. This will always be YES.
Screen access requires bank switch. If NO, DIVE can write directly to
anywhere in your video RAM. If YES, it must access your video RAM in a
segmented manner, slowing performance.
Screen color depth. This is the number of bits of color for each pixel.
8 = 256 colors, 16 = 64K colors, 24 = 16.7 million colors.
Screen aperture size. This is the amount of video RAM accessible at any
one time.
Number of input formats. This is the number of different color spaces
that DIVE can directly handle.
Number of output formats. This is the number of different color spaces
that DIVE can directly handle.
ΓòÉΓòÉΓòÉ 15. Open ΓòÉΓòÉΓòÉ
Use Open to select one or more MPEG movies:
1. Select the down arrow to the right of the Drive list to display all the
drives on your system.
2. Select a drive from the Drive list.
3. Select a directory from the Directory list.
4. Select one or more file names from the File list or type in a filename.
5. Select the Open pushbutton to play the movies you want to view.
For a detailed explanation of each field, select from the list below:
Open file name
Type of file
Drive
File
Directory
Open
Cancel
ΓòÉΓòÉΓòÉ 16. Keys PMMPEG ΓòÉΓòÉΓòÉ
There is no key specific PMMPEG help.
ΓòÉΓòÉΓòÉ 17. Open Filename ΓòÉΓòÉΓòÉ
Type the name of the movie you want to open in the Open filename field. If you
include a wildcard character such as * or ?, the file list will be restricted
to those filenames that match the pattern. Click on one or more filenames in
the list and select the Open pushbutton.
ΓòÉΓòÉΓòÉ 18. Type of File ΓòÉΓòÉΓòÉ
Select the down arrow to the right of the Type of file field to display the
available file types.
ΓòÉΓòÉΓòÉ 19. Drive ΓòÉΓòÉΓòÉ
The Drive list displays the drives on your system. Select the drive that
contains the files you want to view.
ΓòÉΓòÉΓòÉ 20. File ΓòÉΓòÉΓòÉ
The File list displays all the files that match the current pattern in the Open
Filename field. Select one or more files you want to open by clicking with the
mouse. Clicking on a selected filename will remove it from the list of
selected files.
ΓòÉΓòÉΓòÉ 21. Directory ΓòÉΓòÉΓòÉ
The Directory list displays the directories on the selected drive. Select a
directory to display the list of files from that directory in the File list
box.
ΓòÉΓòÉΓòÉ 22. OK ΓòÉΓòÉΓòÉ
Select OK to accept all information in the window, remove the window from the
screen and view the movie.
ΓòÉΓòÉΓòÉ 23. Cancel ΓòÉΓòÉΓòÉ
Select Cancel to remove the window from the screen without viewing a movie.
ΓòÉΓòÉΓòÉ 24. PMMPEG ΓòÉΓòÉΓòÉ
Use PMMPEG to display digital movies conforming to the MPEG-1 specification.
PMMPEG can handle both I-Frame only movies and IBP-Frame movies. It cannot
currently handle MPEG movies with embedded sounds, MPEG 1 Stream files or
MPEG-2 files.
Related Information:
Command Line Options
Installation
Desktop Object
MPEG File Association
Toolbar
Menus
Status Bar
Slideshow
Saving Individual Frames
Drag/Drop
256 Colors
Summary of New Features
Suggestions for Future Releases
MPEG File Info
MPEG-2 Info
DIVE
WebExplorer
Origin of the Code
Movie Sites
Known Bugs
Credits
Author Contact
Registration
ΓòÉΓòÉΓòÉ 25. Help ΓòÉΓòÉΓòÉ
Use Help to display the Help submenu with the following menu items:
Help Index
General Help
Using Help
Product Information
ΓòÉΓòÉΓòÉ 26. Help Index ΓòÉΓòÉΓòÉ
Use Help Index to display the index of all items in the on-line help system.
ΓòÉΓòÉΓòÉ 27. General Help ΓòÉΓòÉΓòÉ
Use General Help to display the high-level help items in the on-line help
system.
ΓòÉΓòÉΓòÉ 28. Using Help ΓòÉΓòÉΓòÉ
Use Using Help to display the help items on how to use the on-line help system
built into OS/2.
ΓòÉΓòÉΓòÉ 29. Product Information ΓòÉΓòÉΓòÉ
Use Product Information to display the "About Box" for PMMPEG.
If you haven't registered your copy of PMMPEG, you will be gently reminded to
send in your registration and how many days left you have in your 30 day
evaluation period. If you have more than 15 days left, the text will be
displayed normally. If you have less than 15 days left the text will be
displayed in yellow. If you go over your evaluation period, the text will turn
to red, but the application will continue to work, with no loss of function.
If you have registered, your name and organization will be displayed in the
text, thanking you for your registration.
ΓòÉΓòÉΓòÉ 30. MPEG File Info ΓòÉΓòÉΓòÉ
This program implements the standard described in the Committee Draft ISO/IEC
CD 11172 dated December 6, 1991 which is sometimes refered to as "Paris
Format."
The player expects MPEG-1 video streams only. It can not handle multiplexed
MPEG streams or video+audio streams. The player uses the paris entropy coding
table set (which we believe to be the MPEG-1 standard), but can not handle any
bitstreams that use the "berlin" entropy coding table set. Berlin data is
relatively rare so there shouldn't be too much to worry about here, but be
aware of the difference when looking for streams to play.
XING is a popular DOS/Windows-based MPEG encoder/player that does not take
advantage of P or B frames (ie, frames with motion compensation). Performance
of the player on XING data is significantly slower (half or less) than the
performance when motion compensated MPEG data is decoded.
ΓòÉΓòÉΓòÉ 31. MPEG-2 Info ΓòÉΓòÉΓòÉ
There is a new version of MPEG on the block, MPEG-2, otherwise known as ISO/IEC
DIS 13818-2. I have experimented with the sample MPEG-2 decoder and found that
the visual quality is lacking on MPEG-1 movies that work well with the Berkeley
decoding engine. Moving up to an MPEG-2 decoding engine will allow more movies
to be played, but at the expense of a clear image on the movies we all know and
love. As most movies are still MPEG-1 at this time, I have decided to stick
with the Berkeley engine and revisit the MPEG-2 engine at a future date.
Here is some information on MPEG-2 from the README file of the MPEG-2 source
code package for an encoder and decoder from the MPEG Software Simulation
Group. The code can be obtained from ftp.netcom.com in the /pub/cfogg/mpeg2
directory. They maintain a listserver for their code. Email to
listserv@netcom.com with message text: subscribe mpeg-users [your E-mail
address]
MPEG-2 Video is a generic method for compressed representation of video
sequences using a common coding syntax defined in the document ISO/IEC 13818
Part 2 (CD: Nov. 1993, DIS: March 1994) by the International Organization for
Standardization (ISO) and the International Electrotechnical Commission (IEC),
in collaboration with the International Telecommunications Union (ITU) as
Recommendation H.262. The MPEG-2 concept is similar to MPEG-1, but includes
extensions to cover a wider range of applications.
The primary application targeted during the MPEG-2 definition process was the
all-digital transmission of broadcast TV quality video at coded bitrates
between 4 and 9 Mbit/sec. However, the MPEG-2 syntax has been found to be
efficient for other applications such as those at higher bit rates and sample
rates (e.g. HDTV). The most significant enhancement over MPEG-1 is the addition
of syntax for efficient coding of interlaced video (e.g. 16x8 block size motion
compensation, Dual Prime, et al). Several other more subtle enhancements (e.g.
10-bit DCT DC precision, non-linear quantization, VLC tables, improved mismatch
control) are included which have a noticeable improvement on coding efficiency,
even for progressive video.
Other key features of MPEG-2 are the scalable extensions which permit the
division of a continuous video signal into two or more coded bit streams
representing the video at different resolutions, picture quality (i.e. SNR), or
picture rates.
ΓòÉΓòÉΓòÉ 32. DIVE ΓòÉΓòÉΓòÉ
All display drivers in the OS/2 Warp 3.0 box and a growing number of 3rd party
graphics card drivers (running with at least 256 colors) allow for a technique
called DIVE, or Direct Interface Video Extensions. It's easy for a 3rd party
driver writer to include DIVE support because the support code is in the
reference video driver shipped in the Device Driver Kit shipped by IBM.
DIVE consists of a set of APIs that allows application developers to get
higher-speed graphics output than the conventional GpiBitBlt approach and also
provides color conversion facilities.
DIVE has evolved over time.
In OS/2 2.0, it was a private interface used by the Ultimotion movie
display application.
In OS/2 2.1, a single IOCtl interface was documented to provide raw video
RAM access from a conventional Ring 3 OS/2 Presentation Manager
application. There were some problems implementing this interface in
PMMPEG 2.1. I chose to not implement DIVE at that time:
- DIVE forces you to write the color index of the palette currently
loaded in the hardware. I got this working for grayscale but in
color mode the colors were way off and I couldn't figure out why. I
believe the Berkeley engine is having a hard time dithering to the
table of color indexes I set up, but since this doesn't work it's a
major reason not to include it.
- DIVE does not handle expansion of an image so I would have to double
the image by hand in my code, or lose that feature.
- Due to the length of time it takes to decode and dither each frame
in the movie as compared to the short amount of time it takes to
actually get PM to display the frame, I was only seeing 0.5 to 1
frame per second improvement. I need to make serious increases in
decoding and dithering performance before DIVE will make a serious
difference in the overall frame rate.
- DIVE completely writes over whatever is on the screen at that place.
This is a problem when you try to pull down the Options menu - DIVE
overwrites the menu with the frames as they're decoded and you can't
tell what you're selecting from the menu.
- You have to have a graphics device driver that has been written to
tolerate DIVE and you have to have the SMVDD.SYS driver from MMPM/2
in your CONFIG.SYS for DIVE from an application to work. Most newer
drivers will work, but some may not.
OS/2 Warp 3.0 has documented a set of powerful APIs that provide
high-speed graphics display (including image stretch and compress),
clipping rectangle handling and color space conversion, built into every
video driver that ships with OS/2 Warp 3.0 and running with at least 256
colors. If the desktop is currently set to 16 colors, DIVE will not be
enabled because 16 colors is insufficient to generate decent images.
Color space conversion means that DIVE will take care of converting
images using non-RGB color descriptions. This is especially useful for
PMMPEG because the MPEG files contain the color data in YUV422 color
space and DIVE knows how to convert these colors at high speed to the RGB
values required by most graphics cards.
There is an overview of DIVE in the Multimedia Application Programming
Guide and the APIs are documented in the Multimedia Programming
Reference. These books come on-line in the OS/2 Warp 3.0 toolkit. It is
currently (April 1995) available only via the Developer Connection CD-ROM
subscription service. I expect it will be bundled with various compilers
as compiler vendors ship new versions. To use DIVE in your application
you only need to #include <dive.h> and <fourcc.h> in your application and
call the Dive* APIs you require. DIVE.DLL will be dynamically loaded by
OS/2 when your application runs.
The high-level APIs available in DIVE are:
- DiveOpen - Opens a DIVE instance for your application
- DiveClose - Closes the DIVE instance
- DiveQueryCaps - Query DIVE capabilities for current system
- DiveAllocImageBuffer - Allocate buffer, perhaps right in Video RAM
- DiveFreeImageBuffer - Free the buffer
- DiveSetupBlitter - Describe image color space, areas to paint on
Blit
- DiveBeginImageBufferAccess - Gain addressability to the buffer
- DiveEndImageBufferAccess - Release addressability to the buffer
- DiveBlitImage - Convert color space and put image on the screen
- DiveSetDestinationPalette - tell DIVE when hardware palette changes
The low-level features available in DIVE are:
- DiveCalcFrameBufferAddress - get Ring 3 address in video RAM
- DiveAcquireFrameBuffer - get access to raw video RAM
- DiveDeacquireFrameBuffer - release access to raw video RAM
- DiveSwitchBank - required for multiple aperture video subsystem
There is another component, called enDIVE, that works at the graphics driver
layer. It allows a programmer developing a graphics driver for a card with
special hardware support to be able to take advantage of all of the features
the hardware can offer in a standard way. Chips are coming on the market that
can do color space conversions, stretching and compressing images, etc. This
is clearly going to be faster than doing it in software, giving any
DIVE-enabled application a large, transparent speed increase. If your
graphics card has such support, please email to me so I can see the
performance that new hardware and enDIVE provides. I'm told that the ThinkPad
755 has a chip (ASKEY?) that performs some of this, as does an upcoming Weitek
chip.
If you're curious about DIVE, I'm going to be giving a session on DIVE in
general and specifically my experience implementing it in PMMPEG at the Fourth
Annual ColoradOS/2 developer's conference. It will be held October 16 - 20,
1995 at the Keystone Resort in Vail, Colorado. For a brochure and reservation
information, please call Wayne Kovsky at (719)481-3389.
ΓòÉΓòÉΓòÉ 33. Origin of the Code ΓòÉΓòÉΓòÉ
Computer Science Division-EECS, Univ. of Calif. at Berkeley. Lawrence A.
Rowe, Ketan Patel, and Brian Smith wrote a Unix and X Windows-based MPEG
decoder and viewer. This program is based on their version 2.0 release.
To get the original source, ftp to toe.cs.berkeley.edu, directory
/pub/multimedia/mpeg/mpeg-2.0.tar.Z.
These folks have set up several mailing lists for their code.
- mpeg-list-dist@CS.Berkeley.EDU
General information on the decoder for everyone interested should
be sent to this list. This should become active after 11/20/92
- mpeg-list-request@CS.Berkeley.EDU
Requests to join or leave the list should be sent to this address.
The subject line should contain the single word ADD or DELETE.
- mpeg-bugs@CS.Berkeley.EDU
Problems, questions, or patches should be sent to this address.
Tom Lane of the Independent JPEG Group provided the basic inverse DCT
code used by the Berkeley player. (tom_lane@g.gp.cs.cmu.edu)
John Webb contributed the frame subclass code for the status bar and
provided invaluable help when things wouldn't work right.
I, Mike Brown, ported the Unix/X code to OS/2 and Presenation Manager and
"integerized" the heavy floating point in the inverse DCT routine.
Click to see the Berkley Disclaimer
ΓòÉΓòÉΓòÉ 34. Berkeley Disclaimer ΓòÉΓòÉΓòÉ
/*
* Copyright (c) 1992 The Regents of the University of California.
* All rights reserved.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation for any purpose, without fee, and without written agreement is
* hereby granted, provided that the above copyright notice and the following
* two paragraphs appear in all copies of this software.
*
* IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR
* DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT
* OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF
* CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
* AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
* ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATION TO
* PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
*/
ΓòÉΓòÉΓòÉ 35. Movie Sites ΓòÉΓòÉΓòÉ
You can get MPEG movies from computers around the world. The well-known ones I
have found are:
ftp Sites
- emx.cc.utexas.edu /pub/mnt/mpeg
- s2k-ftp.cs.berkeley.edu /pub/multimedia/mpeg/movies
- havefun.stanford.edu /pub/mpeg
- phoenix.oulu.fi /pub/mpeg
- calypso-2.oit.unc.edu /pub/multimedia/animation/mpeg
- seds.lpl.arizona.edu /pub/anim
- venice.tcp.com /pub/anime-manga/anim/mpeg
- ftp.hawaii.edu
- ftp.univ-rennes1.fr /pub/Images/Astro
- ftp.netcom.com /pub/jrp/film.html
World Wide Web Pages:
- www.univ-rennes1.fr/Astro/anime-e.html
- mambo.ucsc.edu/psl/thant/thant.html
- akebono.stanford.edu/yahoo/Computers/Multimedia/Movies
- match.com/~tlod
Internet Newsgroups
- alt.binaries.multimedia
ΓòÉΓòÉΓòÉ 36. Known Bugs ΓòÉΓòÉΓòÉ
These bugs are known and are on the list of things to fix in the next release.
DIVE black frame handling broken
DIVE resized or uncovered no image displayed
Crashes loading certain movies
Frames flip back and forth quickly
Diagonal stripes playback
Crashes playing certain movies
Color Table
Bad Encodings
Playback Speed
OS/2 for SMP
Icon Problem
Many PMMPEG.INI files, options not saved
ΓòÉΓòÉΓòÉ 36.1. Color Table Problem ΓòÉΓòÉΓòÉ
When switching from color to gray or gray to color while an I-Frame-only movie
is playing, you will see a 1 frame distortion of colors. This is a restriction
on the way the color table is handled and the proper display of the image will
pick up after the color table change completely makes its way through the
application. On IBP-Frame movies, it can take a few frames for the image to
correct itself, generally until an I frame is encountered.
ΓòÉΓòÉΓòÉ 36.2. DIVE black frame handling broken ΓòÉΓòÉΓòÉ
The first few initial black frames of MPEG files are not correctly detected and
ignored in DIVE mode. Just ignore them...
ΓòÉΓòÉΓòÉ 36.3. DIVE resized or uncovered no image displayed ΓòÉΓòÉΓòÉ
When the window is resized or part of the window is uncovered while in DIVE
mode and the movie is stopped, the image is not displayed. This is because the
image is generated, handed to the DIVE system and tossed away, so there's
nothing to hand to DIVE again.
ΓòÉΓòÉΓòÉ 36.4. Crashes loading certain movies ΓòÉΓòÉΓòÉ
PMMPEG will crash loading certain movies, such as one featuring a jet.
ΓòÉΓòÉΓòÉ 36.5. Frames flip back and forth quickly ΓòÉΓòÉΓòÉ
PMMPEG will play certain movies normally and then get stuck on two frames,
flipping back and forth between them quickly. pamander.mpg, christie.mpg and
ss-94.mpg exhibit this behavior.
ΓòÉΓòÉΓòÉ 36.6. Diagonal stripes playback ΓòÉΓòÉΓòÉ
PMMPEG will play certain movies badly, showing only diagonal stripes of color.
These movies always have sizes that aren't exact multiples of 16 pixels. This
points to a bug in the underlying Berkeley decoder engine. Thanks to Murray
Penny for the Web site http://rs560.cl.msu.edu/weather for examples of bad
playback.
ΓòÉΓòÉΓòÉ 36.7. Crashes playing certain movies ΓòÉΓòÉΓòÉ
PMMPEG will crash playing certain movies, such as disposal.mpg
ΓòÉΓòÉΓòÉ 36.8. Bad Encodings ΓòÉΓòÉΓòÉ
Some movies have encoding problems. PMMPEG tries to handle these as best as
possible (for example skipping corrupted frames) and continue playing the
movie. There are a few distinct cases that will cause the following behaviours
in PMMPEG:
PMMPEG may crash either at the initial load of the movie or at some point
during playback.
Two movies I have found will get to a certain point in the movie and then
rapidly flip back and forth between two adjacent frames and never
terminate.
Two movies I have found seem to have a problem with the "vertical hold"
as the display looks like a series of jagged diagonal lines.
I will work to bulletproof the code, but it also depends on the Berkeley folks
to release bug fixes to their engine that will help all platforms.
ΓòÉΓòÉΓòÉ 36.9. Playback Speed ΓòÉΓòÉΓòÉ
Movie playback is not real-time, except on high-performance systems. Faster CPU
and video cards will help to improve the situation and internal optimization is
ongoing. Use grayscale to get the fastest playback, at the expense of losing
color.
ΓòÉΓòÉΓòÉ 36.10. OS/2 for SMP ΓòÉΓòÉΓòÉ
PMMPEG seems to work well on a beta level of OS/2 for SMP, the version of OS/2
that can run on certain machines that have multiple 486 or Pentium processors.
I've seen it randomly crash with a Divide by Zero error. I don't know if it's
a bug in the OS/2 product since it was at beta level or in my code. When I get
the chance to debug it on a GA level of OS/2 for SMP, I'll try to track this
down.
ΓòÉΓòÉΓòÉ 36.11. Icon Problem ΓòÉΓòÉΓòÉ
Users of certain ATI graphics cards report that the PMMPEG icon is not being
displayed properly, instead a generic OS/2 icon is shown. Since this works
properly on other systems including XGA and S3, I suspect it's an ATI driver
problem.
ΓòÉΓòÉΓòÉ 36.12. Many PMMPEG.INI files, options not saved ΓòÉΓòÉΓòÉ
If you make your own icon for PMMPEG instead of using INSTALL.CMD , make SURE
you specify the full path to the PMMPEG.EXE in the Settings page. If you
don't, the Workplace Shell won't pass the path of the executable file to PMMPEG
as it's running and you'll end up with PMMPEG.INI files scattered over your
hard disk and none of your saved settings will work correctly.
ΓòÉΓòÉΓòÉ 37. Author Contact ΓòÉΓòÉΓòÉ
Author name: Mike Brown
You can reach me in one of the following manners:
mbrown@sescomp.com (or use the syntax required by your system to send
Internet email).
SES Computing, Inc.
13206 Jenner Lane
Austin, TX 78729-7456
I look forward to reports of new movie sites, new feature requests and of
course bug reports.
Note: I plan to move my family to Melbourne, Australia in December, 1995 for
two years. This complicates registering your copy of PMMPEG at that time,
because my email address may not remain the same and I'd probably prefer
Aussie Dollars by then! I'll work on making it easy for you to register after
this time, but if you have trouble contacting me, please keep trying.
Also, if you've got a job for me doing OS/2 development, PLEASE contact me as
I'd like to get something lined up in lots of time before we head over.
ΓòÉΓòÉΓòÉ 38. Registration ΓòÉΓòÉΓòÉ
Release 1.0 of PMMPEG was distributed as Freeware because it didn't have all of
the features that I eventually wanted to include, and I also wanted to gauge
the market for such a program. I have decided to distribute Release 3.0 of
PMMPEG as Shareware to recoup some of the development, postage and network
costs associated with distributing it.
The suggested price is $15.00, a bargain at twice the price! If after 30 days
of use you decide that PMMPEG is a useful tool, please print out the
Registration Form and mail it and the registration fee to the address shown on
the form.
I have specifically not disabled any features, but trust you to "do the right
thing" to support development of cheap but useful software in the growing OS/2
environment.
I'm pleased with the registration rate from PMMPEG 2.1, but I still think there
are a lot of folks out there that have forgotten to register, so I decided to
add the Registration feature.
As a registered user, you are entitled to a free upgrade to the next release of
PMMPEG. You can receive your upgrade in one of the following manners:
Through the post office on a 5╨╝" or 3╨╗" floppy disk.
Through email as a series of UUENCODED email messages.
By ftp from ftp.cdrom.com.
Be sure to completely fill out the form so I can keep you up to date.
ΓòÉΓòÉΓòÉ 38.1. Registration Form for PMMPEG Release 3.0 ΓòÉΓòÉΓòÉ
To print this registration form, click on the Print... button below, make sure
'This Section' is selected and then click on Print.
Send $15 (plus applicable sales tax if you live in Texas) in a check or money
order in U.S. funds drawn on a U.S. bank - sorry my bank is VERY cranky!) with
this completed form to
SES Computing, Inc.
13206 Jenner Lane
Austin Texas 78729-7456
Name ______________________________________________
Address ______________________________________________
State/Province ______________________________________________
Country ______________________________________________
Zip/Postal Code ______________________________________________
Internet/Compuserve ______________________________________________
Where did you get PMMPEG? ________________________________________
How would you like to receive your free next release? (Circle one)
5╨╝" Floppy 3╨╗" Floppy UUENCODED Email FTP from ftp.cdrom.com
If you circled UUENCODED Email or FTP, be sure to show an email address above
to allow me to deliver the new version or notify you by email that a new
version is available.
Your signature below acknowledges the following:
USERS OF PMMPEG MUST ACCEPT THIS DISCLAIMER OF WARRANTY
PMMPEG is supplied 'as is'. The author disclaims all warranties, expressed or
implied, including, without limitation, the warranties of merchantability and
of fitness for any purpose. The author assumes no liability for damages,
direct or consequential, which may result from the use of PMMPEG. In any case
the maximum liability of the seller will be limited exclusively to product
replacement or refund of the purchase price.
Your signature ______________________________________________
Thank you for registering PMMPEG, Mike Brown.
ΓòÉΓòÉΓòÉ 39. Credits ΓòÉΓòÉΓòÉ
Thanks to the following people that used previous PMMPEG releases and sent in
valuable suggestions, bug reports and beta test feedback.
Que Alexander
Keith Brafford
Charles Buck
R. Campbell
Troy Caperton
Les Chan
Michael Chan
John-Marc Chandonia
Dave Conway-Jones
Linden DeCarmol
Mike W. Dross
Rainer Falkner
Mark Fay
Roger Geer
Tom Giroux
Eric Goodall
Scott Harper
Steve Hancock
Chris Herborth
Wey J Ho
Dzung T. Hoang
Philip Hunter
Rich Iachetta
Scott INTREPID816
Ernst-Walter Joehnk
John Johnson
Scott Jost
Paul Kolenbrander
Fredrik Kvamme
Morris Kwok
Jim Leff
Alann Lopes
Kevin Lowey
Guy McArthur
Gianluca Magalotti
Markus Moenig
Makoto Nagata
John Navarro
Charlie O
Roman Olynyk
Chris Peck
Murray Penney
Mark Pietras
Graham Sanderson
Carl Sayres
Gabriele Sartori
Darren Schultz
James Shoemaker
Greg Spath
Brian Stark
Kevin Sole
Joey Sum
David Sutherland
Gil Tennant
Aldis Valkirs
John VanHoozer
Nicolas Wagrez
John Webb
Ender Wiggin
Elton Woo
Stefan Zollner
ΓòÉΓòÉΓòÉ 40. Saving Individual Frames ΓòÉΓòÉΓòÉ
This feature allows you to save the curently displayed frame to the Clipboard
or as an OS/2 Bitmap file These toolbar buttons are disabled during playback.
ΓòÉΓòÉΓòÉ 41. 256 Colors ΓòÉΓòÉΓòÉ
The dithering code in PMMPEG (both in DIVE mode and non-DIVE mode) requires the
hardware be configured to display at least 256 colors or truly awful images are
produced. If less than 256 color capability is detected at startup, a message
will be displayed to that effect and the program will exit.
ΓòÉΓòÉΓòÉ 42. Slideshow ΓòÉΓòÉΓòÉ
This feature allows you to select multiple files using:
The File Dialog
You can select multiple files using the File Dialog and they will be
played in the order they are shown in the list, not in the order that
they were clicked on.
Drag/drop multiple files from somewhere on the desktop
You can drag and drop multiple files from anywhere on the desktop. The
files will be played in an indeterminate order as the container that
you're dragging from will generate the list of files which will not
necessarily correspond to the manner in which you selected the files.
Filenames on the command line.
You can specify multiple filenames on the command line when you launch
PMMPEG.
PMMPEG will then play each movie, one after the other, and optionally loop
back to the front of the list and play again if the Loop mode is set.
If a serious decoding error occurs, the slideshow will halt. You must click
on the Play button to continue playing. It's not reccommended that MPEG files
with known encoding problems be selected in a slideshow as it will halt
playback each time the decoding error occurs.